A Scala Embedded DSL for Combinatorial Optimization in Software Requirements Engineering
نویسندگان
چکیده
The goal of the presented work is to provide support for software requirements engineering domain experts in modeling combinatorial optimization problems that arise in requirements prioritization and release planning. A Domain-Specific Language (DSL), called reqT/CSP, is presented that integrates constraints modeling with requirements modeling. The DSL is embedded in the object-functional Scala programming language. The DSL is demonstrated using principal examples of priority ranking and release planning. Benefits, limitations and future work are discussed.
منابع مشابه
reqT.org - Towards a Semi-Formal, Open and Scalable Requirements Modeling Tool
[Context and motivation] This research preview presents ongoing work on a free software requirements modeling tool called reqT that is developed in an educational context. [Question/problem] The work aims to engage computer science students in Requirements Engineering (RE) through a tool that captures essential RE concepts in executable code. [Principal ideas] Requirements are modeled using an ...
متن کاملJavaScript as an Embedded DSL
Developing rich web applications requires mastering different environments on the client and server sides. While there is considerable choice on the server-side, the client-side is tied to JavaScript, which poses substantial software engineering challenges, such as moving or sharing pieces of code between the environments. We embed JavaScript as a DSL in Scala, using Lightweight Modular Staging...
متن کاملWhat Is Essential? - A Pilot Survey on Views About the Requirements Metamodel of reqT.org
[Context & motivation] This research preview paper presents ongoing work on the metamodel of a free software requirements modeling tool called reqT that is developed in an educational context. The work aims to make an initial validation of a survey instrument that elicits views on the metamodel of the reqT tool, which aims to engage computer science students in Requirements Engineering (RE) thr...
متن کاملDeepDSL: A Compilation-based Domain-Specific Language for Deep Learning
In recent years, Deep Learning (DL) has found great success in domains such as multimedia understanding. However, the complex nature of multimedia data makes it difficult to develop DL-based software. The state-of-the-art tools, such as Caffe, TensorFlow, Torch7, and CNTK, while are successful in their applicable domains, are programming libraries with fixed user interface, internal representat...
متن کاملScala-Virtualized: linguistic reuse for deep embeddings
Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala is an expressive language that provides a flexible syntax, type-level computation using implicits, and other features that facilitate the development of embedded DSLs. However, many of these features work well only for shallow embeddings, i.e. DSLs which are implemented as plain libraries. Shallow embedd...
متن کامل